package com.xdb.util;

import java.util.List;
import java.util.Map;

/**
 * XDB数据库工具箱
 * 
 * @author woate
 *
 */
public class XDBTookit {
	/**
	 * 将KV对象绑定到表名称上
	 * 
	 * @param tabName
	 *            表名称
	 * @param tabKV
	 *            KV
	 * @return 绑定成功返回真，否则为假
	 */
	public static boolean bind(String tabName, Map<String, String> tabKV) {
		return lookupBind(tabName);
	}
	/**
	 * 查找所有绑定的表名称
	 * @return
	 */
	public static List<String> lookupBinds(){
		return null;
	}
	/**
	 * 查找是否已经绑定了某个表名称
	 * @param tabName 表名称
	 * @return 如果绑定了就返回真，否则为假
	 */
	public static boolean lookupBind(String tabName){
		return false;
	}
	/**
	 * 从XDB数据库中按照表名称，根据主键数组，获取实体
	 * 
	 * @param tabName
	 *            表名称
	 * @param entryCls
	 *            需要映射的实体类型
	 * @param pks
	 *            主键数组
	 * @return 实体
	 */
	public static <T> T getEntry(String tabName, Class<?> entryCls, Object... pks) {
		try {
			return (T) entryCls.newInstance();
		} catch (InstantiationException | IllegalAccessException e) {
			return null;
		}
	}
}
